package com.kehutong.charge.service;

import com.kehutong.charge.dto.ChargeStatistDTO;
import com.kehutong.charge.entity.ChargeBillInterim;
import com.kehutong.charge.service.impl.ChargeBillInterimServiceImpl;
import com.kehutong.common.util.Token;
import org.coraframework.inject.ImplementedBy;
import org.coraframework.json.JSONObject;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @program: kht
 * @description: 临时账单服务接口
 * @author: joneron
 * @create: 2021/7/5
 **/
@ImplementedBy(ChargeBillInterimServiceImpl.class)
public interface ChargeBillInterimService extends BaseService<ChargeBillInterim>{

    /**
     * 统计接口
     * @param jsonObject
     * @return
     * @throws Exception
     */
    List<ChargeStatistDTO> findStatist(JSONObject jsonObject) throws Exception;

    /**
     * 订单作废
     * @param jsonObject
     * @return
     */
    Object cancelInterimBill(JSONObject jsonObject, Token token);

    /**
     * 收款接口
     * @param jsonObject
     * @return
     */
    Object receiveMoney(JSONObject jsonObject);

    /**
     * 获取数据
     */
    Object getObj(JSONObject jsonObject);


    void pageExport(HttpServletRequest req, HttpServletResponse resp, JSONObject jsonObject);

    Object importExcel(JSONObject jsonObject, Token token) throws Exception;

    void templateExport(HttpServletRequest req, HttpServletResponse resp);

    void importExcelCheck(JSONObject jsonObject);
}
